#include "stdafx.h"
#include "ASN1Type.h"

namespace AppliedCryptography
{
	ASN1Type::ASN1Type()
		: _classBits(Universal), _constucted(Primitive), _number(EOC)
	{
	};

	ASN1Type::ASN1Type(ClassBits classBits, ConstructedBit constucted, TypeNumberBits number)
		: _classBits(classBits), _constucted(constucted), _number(number)
	{
	};

	/*
	ASN1Type::ASN1Type(ASN1Type& other)
		: _classBits(other._classBits), _constucted(other._constucted), _number(other._number)
	{
	};
	*/

	byte ASN1Type::getClassBit() const
	{
		return _classBits;
	};

	byte ASN1Type::getConstructed() const
	{
		return _constucted;
	};

	byte ASN1Type::getNumber() const
	{
		return _number;
	};

	byte ASN1Type::getTypeBits() const
	{
		return this->getClassBit() | this->getConstructed() | this->getNumber();
	};
}; // namespace AppliedCryptography


